'use strict';

const Controller = require('egg').Controller;


class GoodsController extends Controller {

  // 新增
  async create() {
    const { ctx } = this;
    const res = await ctx.service.admin.mallGoods.create(ctx.request.body);
    res ? ctx.helper.success('新增商品成功', res) : ctx.helper.error('新增商品失败');
  }

  // 获取列表
  async index() {
    const { ctx } = this;
    // const { pageNum = 1, pageSize = 10 } = ctx.request.query;
    ctx.request.query.pageNum = ctx.request.query.pageNum ? ctx.request.query.pageNum : 1;
    ctx.request.query.pageSize = ctx.request.query.pageSize ? ctx.request.query.pageSize : 10;
    const res = await ctx.service.admin.mallGoods.getList(ctx.request.query);
    res ? ctx.helper.success('获取商品成功', res) : ctx.helper.error('获取商品失败', 400);
  }

  // 删除
  async destroy() {
    const { ctx } = this;
    const res = await ctx.service.admin.mallGoods.del(ctx.params.id);
    res ? ctx.helper.success('删除商品成功') : ctx.helper.error('删除商品失败', 400);
  }

  // 下架
  async shelve() {
    const { ctx } = this;
    const res = await ctx.service.admin.mallGoods.del(ctx.params.id);
    res ? ctx.helper.success('下架商品成功') : ctx.helper.error('下架商品失败', 400);
  }

  // 上架
  async shelves() {
    const { ctx } = this;
    const res = await ctx.service.admin.mallGoods.shelves(ctx.params.id);
    res ? ctx.helper.success('上架商品成功') : ctx.helper.error('上架商品失败', 400);
  }

  // 修改商品
  async update() {
    const { ctx } = this;
    const res = await ctx.service.admin.mallGoods.update(ctx.params.id, ctx.request.body);
    res && res[0] !== 0 ? ctx.helper.success('修改商品成功') : ctx.helper.error('修改商品失败', 400);
  }
}

module.exports = GoodsController;
